\documentstyle[german]{report}
\pagestyle{headings}
\parindent0cm
\parskip0.5ex plus0.2ex minus0.1ex
\textheight220mm
\textwidth145mm
\voffset-7mm
\sloppy
\raggedbottom
\setcounter{secnumdepth}{4}
\setcounter{tocdepth}{4}
\title{\Huge \bf Cross V5.0\\
             \bf Dokumentation}
\author{Jürgen Weinelt\\
        Zur Kanzel 1\\
        D--8783 Hammelburg\\
        Deutschland}
\date{20. Mai 1993}

\begin{document}
\maketitle
\begin{abstract}
  Cross V5.0 ist ein Programm zur computerunterstützten Erzeugung
  von Gitterkreuzworträtseln (ein CAGK-Programm sozusagen). Das Programm
  arbeitet (soweit mir das bekannt ist) mit jeder Amiga-Konfiguration
  ab Kickstart~2.04 (37.175) problemlos zusammen. Das Programm sollte
  auch mit nur 512~KByte Hauptspeicher lauf\/fähig sein, ich empfehle
  jedoch mindestens 1~MByte Hauptspeicher.

  Cross V5.0 ist im Augenblick viersprachig (Deutsch, Englisch, Italienisch
  und Esperanto), kann aber ohne eine Änderung am Programm selbst leicht in
  andere Sprachen übersetzt werden, weil (fast) alle Programmtexte in einer
  eigenen Meldungsdatei abgelegt sind. Ich suche zur Zeit noch Übersetzer für
  weitere Sprachen.

  Cross V5.0 ist Freeware, darf also auf nicht-kommerzieller Basis frei
  weitergegeben werden. Profite darf man dabei allerdings nicht machen; ich
  verdiene nichts an diesem Programm, deshalb habe ich auch etwas dagegen,
  wenn andere daran verdienen.

  Cross V5.0 ist nun auch vollständig fontsensitiv, und paßt sich der Auf\/lösung
  und Farbenpalette der Workbench an.
\end{abstract}

\tableofcontents

\chapter{Rechtliches}
\section{Copyright}
Programm und Dokumentation sind (C) Copyright 1991,92,93 by \\
\begin{quote}
  Jürgen Weinelt \\
  Zur Kanzel 1 \\
  8783 Hammelburg \\
  Deutschland \\
\end{quote}

Cross darf nur auf nicht-kommerzieller Basis weitergegeben werden, z.B.
im Rahmen von PD-Serien.

Cross V5.0 ist Freeware. Das bedeutet, daß das Programm zwar auf
nicht--kommerzieller Basis kopiert werden darf, aber ich verzichte
durchaus nicht auf mein Urheberrecht, wie das bei reiner Public Domain
Software der Fall wäre. Für den normalen Benutzer ist diese Feinheit
nicht von Bedeutung; im Grunde läuft es auf einen kurzen Satz
hinaus: {\sl Kopieren ja, Profit machen nein}.

\section{Kopiergebühren}
Ich bin wirklich relativ tolerant, was die Kopiergebühren für PD-Disketten
angeht; trotzdem behalte ich mir vor, bei besonders üblen Auswüchsen alle
mir zur Verfügung stehenden rechtlichen Mittel einzusetzen! Ich verbiete
deshalb ausdrücklich, Disketten mit diesem Programm darauf für mehr als
DM~8,00 zu verkaufen. Falls Sie für Ihre Kopie von `Cross' mehr als DM~8,00
bezahlt haben, sollten Sie zwei Dinge tun:

\begin{enumerate}
  \item Wechseln Sie Ihren PD-Händler (eigentlich ist der Begriff `PD-Händler'
        ohnehin ein Widerspruch in sich\dots{}) \\
        Geeignete Adressen finden Sie im Anzeigenteil aller
        Amiga-Fach\-zeit\-schrif\-ten (z.B. AmigaPlus)
 \item Schicken Sie mir eine kurze Notiz (Postkarte) mit Bezugsquelle und Preis.
\end{enumerate}

Bedenken Sie, daß man PD-Disketten auch für unter DM~2,00 kaufen kann, vergleichen
Sie die Preise und richten Sie sich danach.

\section{Hinweise}
\subsection{Haftungsausschluß}
Das Programm wurde sorgfältig getestet, und zur Zeit sind mir keine
ernsthaften Fehler bekannt. Trotzdem mahce ich Sie darauf aufmerksam, daß
Sie das Programm auf eigene Gefahr benutzen. Bitte bedenken Sie, daß
Sie ein durchaus leistungsfähiges Programm praktisch zum Nulltarif erhalten
haben; ich finde es deshalb absolut fair, jede Verantwortung bezüglich
der Ergebnisse (gewollte und auch ungewollte) des Programms abzulehnen.

\subsection{Bug Reports}
Falls Sie einen Programmfehler entdecken sollten, setzen Sie sich bitte mit
mir in Verbindung. Meine Postadresse finden Sie in der Copyright-Notiz,
falls Sie über EMail verfügen, können Sie mich auch unter einer der
folgenden Adressen erreichen:

\begin{verbatim}
   jow@sun.rz.uni-wuerzburg.de (preferred)
   jow@hcast.adsp.sub.org
   jow@hcast.franken.de
\end{verbatim}

Ich selbst besitze diverse Amigas, darunter auch einen A4000/040 mit
den jeweils neuesten Betriebssystem-Versionen. Ich teste meine Programme
auf diesen Konfigurationen und bemühe mich, potentielle
Kompatibilitätsprobleme von Anfang an zu vermeiden. Wenn Sie mich wegen eines
Programmfehlers anschreiben, geben Sie bitte unbedingt ihre Systemkonfiguration
(Hard- und Software) möglichst genau an, und beschreiben Sie auch den
Fehler möglichst genau.

\subsection{Zuschriften}
Wenn Sie mir von innerhalb Deutschlands schreiben, vergessen Sie bitte das
Rückporto nicht! Zur Zeit (1993) kostet ein Standardbrief DM~1,00 und eine Diskette
im Brief DM~2,00.

Wenn Sie mir von außerhalb Deutschlands schreiben, dürfte es ziemlich
schwierig sein, mir das Rückporto zukommen zu lassen. Bei Zuschriften
aus dem Ausland bin ich daher ausnahmsweise auch zufrieden, wenn Sie
anstatt des Rückportos eine Ansichtspostkarte oder ein Foto Ihrer
Heimatstadt beilegen\dots

\chapter{Bedienungsanleitung}
\section{Programmstart}
Vom CLI aus kann das Programm folgendermaßen aufgerufen werden:

\begin{verbatim}
  Cross
\end{verbatim}

Das ist der normale Programmaufruf, den Sie benutzen, um mit dem Programm
normal zu arbeiten.

\begin{verbatim}
  Cross -d
\end{verbatim}

Wenn Sie das ``-d'' beim Aufruf mit angeben, kommen Sie in einen speziellen
Debug-Modus, bei dem die Meldungsnummern zusammen mit den Meldungen ausgegeben
werden. Diese Variante ist aber nur für Übersetzer interessant, die die
Cross-Meldungen in eine andere Sprache übersetzt haben. Mehr dazu später.

Vor dem Aufruf von Cross muß mittels ASSIGN ein logisches Device namens
`CROSS:' definiert werden; dort sucht Cross seine Dateien:

\begin{tabular}{|l|l|}
  \hline
  File bzw. Verzeichnis & Bedeutung                              \\
  \hline
  \hline
  DATA                  & Verzeichnis                            \\
  \hline
  DATA/Cross.prefs      & Enthält diverse Voreinstellungen       \\
  \hline
  DATA/msgtxt.data      & Datei mit mehrsprachigen Meldungen     \\
  \hline
  DATA/words\_eng.crw   & Wortschatzdatei deutsch                \\
  DATA/words\_ger.crw   & Wortschatzdatei englisch               \\
  DATA/words\_ita.crw   & Wortschatzdatei italienisch            \\
  DATA/words\_eto.crw   & Wortschatzdatei Esperanto              \\
  \hline
  DATA/ (\dots{}) .crd  & Rätseldateien                          \\
  \hline
\end{tabular}
\vspace{2ex}

Direkt nach dem Programmstart liest Cross die Meldungsdatei.
Eine ausführliche Beschreibung von `msgtxt.data' folgt weiter unten.

\section{Die Menüs}
Das Programm ist weitgehend selbsterklärend. Trotzdem vorsichtshalber eine
ausführliche Beschreibung aller Menüs:

\subsection{Das Projekt-Menü}
Hier befinden sich vor allem die Ein- und Ausgabefunktionen:

\subsubsection{Projekt: Neues Rätsel}
Nach einer Sicherheitsabfrage wird das gerade bearbeitete Rätsel verworfen
und die Bearbeitung eines neuen Rätsels vorbereitet.

\subsubsection{Projekt: Kreuzworträtsel laden}
Es erscheint ein Filerequester, mit dem Sie ein bereits fertiges Rätsel
von einem externen Massenspeicher (Diskette, Platte) laden können. Ich
benutze für solche gespeicherten Rätsel stets Namen mit der Endung `.crd'
und empfehle Ihnen, diese Endung ebenfalls zu benutzen.

Bitte beachten Sie, daß bei dieser Aktion das gerade bearbeitete
Rätsel verworfen wird, ohne daß eine besondere Warnung erscheint!

\subsubsection{Projekt: Wortschatzdatei laden}
Es erscheint ein Filerequester, mit dem Sie eine Wortschatzdatei von
einem externen Massenspeicher (Diskette, Platte) laden können. Ich
benutze für solche Wortschatzdateien stets Namen mit der Endung `.crw'
und empfehle Ihnen, diese Endung ebenfalls zu benutzen.

\subsubsection{Projekt: Kreuzworträtsel speichern}
Es erscheint ein Filerequester, mit dem Sie das gerade bearbeitete Rätsel
auf einem externen Massenspeicher (Diskette, Platte) speichern können. Ich
benutze für solche gespeicherten Rätsel stets Namen mit der Endung `.crd'
und empfehle Ihnen, diese Endung ebenfalls zu benutzen.

\subsubsection{Projekt: Einstellungen speichern}\label{saveprefs}
Wenn Sie diesen Menüpunkt anwählen, werden einige der Einstellungen, die
Sie gewählt haben, in der Datei ``Cross:data/Cross.prefs'' gespeichert,
und zwar die Sprache und die Rätselgröße. Diese Datei wird bei jedem Programmstart
geladen und ausgewertet.

\subsubsection{Projekt: Drucker}
Dieses Untermenü enthält die diversen Druckerfunktionen.

\subsubsection{Projekt: Drucker: Rätsel drucken (einfach)}
Diese Funktion wird hof\/fentlich niemals im Ernst benutzt werden- sie soll
sicherstellen, daß man mit jedem noch so exotischen Drucker wenigstens
irgend etwas auf's Papier kriegt. Falls Sie's wirklich probieren wollen
(oder womöglich müssen), schminken Sie sich besser alle Ansprüche an das
Aussehen des Gedruckten ersatzlos ab.

\subsubsection{Projekt: Drucker: Rätsel drucken (\LaTeX{})}
\LaTeX{} ist eine Erweiterung (Makropaket)
für das semiprofessionelle Textsatzsystem \TeX{}. Mit diesem Menüpunkt können
Sie einen \LaTeX{}-Quelltext erzeugen, den Sie wie gewohnt mit \TeX{}/\LaTeX{}
weiterverarbeiten können. Abhängig von Ihrer lokalen Umgebung kann es
möglicherweise nötig sein, die \LaTeX{}-Quelltext-Datei von Hand abzuändern; es geht
speziell um die Papierabmessungen. Experimentieren Sie ein wenig mit
\verb+\oddsidemargin+, \verb+\textwidth+, \verb+\hoffset+ und evtl.
auch \verb+\voffset+.
Sie können auch das gesamte Rätsel global verkleinern, indem Sie den
Parameter von \verb+\unitlength+ etwas verkleinern.

Zur Bedienung: es erscheint ein Filerequester, mit dem Sie den
Namen der Ausgabedatei wählen können.

\subsubsection{Projekt: Drucker: Rätsel drucken (schön)} \label{genfancy}
Im Normalfall werden Sie diese Funktion zum Ausdrucken eines Rätsels
benutzen; sie druckt sowohl generisch (sollte mit absolut jedem graphikfähigen
Drucker funktionieren, der korrekt mit den Preferences eingestellt wurde),
als auch schön (oder was ich für schön halte). Falls sie einen Amiga mit nur
512K Speicher besitzen sollten (gibt's das noch?), könnten Sie eventuell
Speichermangel bekommen. Pech.

\subsubsection{Projekt: Drucker: Rätsel drucken (schön/Zahlen)} \label{genfancynum}
Diese Funktion ist zur vorherigen fast identisch; zusätzlich wird aber in das
Rätselgitter bei jedem Wortanfang eine Zahl eingedruckt. Wenn Sie nun die
Wortliste unter dem Rätsel (von Hand) durch eine Liste von Nummern und zugehörigen
Hinweisen (Fragen, Wortbeschreibungen) ersetzen, erhalten Sie eine andere
beliebte Rätselvariante. Etwas Handarbeit ist aber leider dazu nötig.

Für diese Funktion sollte ihr Drucker mindestens eine Auf\/lösung von 300~DPI
haben, andernfalls dürften die Zahlen evtl. recht häßlich aussehen.

\subsubsection{Projekt: Drucker: Lösung drucken}
Diese Funktion ist für alle Drucker gleich; es wird ja ohnehin nur
Text ausgedruckt, keine Graphik.

\subsubsection{Projekt: Version, Copyright}
Es erscheint ein Requester, der die Versionsnummer sowie die Copyright-Notiz
von Cross anzeigt.

\subsubsection{Projekt: ENDE}
Nach einer Sicherheitsabfrage wird das Programm beendet.

\subsection{Das Edit-Menü}
Im Edit-Menü sind die Funktionen zusammengefaßt, die zur Bearbeitung eines
Kreuzworträtsels benötigt werden.

\subsubsection{Edit: Automatiksuche an/aus}
Die Automatiksuche ist das Kernstück von Cross. Wenn die Suche aktiv ist,
werden selbsttätig Wörter in das Kreuzworträtsel eingepaßt. Dazu müssen
folgende Voraussetzungen erfüllt sein:

\begin{itemize}
  \item Es muß sich ein Wortschatz im Speicher befinden.
  \item Es muß bereits mindestens ein Wort vorher plaziert worden sein als
   `Keim', aus dem das Rätsel `wachsen' kann.
\end{itemize}

Während die Automatiksuche läuft, erscheint rechts oben ein Requester
mit zwei Balken. Der erste Balken zeigt die gerade aktuelle Wortlänge an
und entspricht der Variablen ``limit'', der andere Balken zeigt den
Fortschritt des gerade laufenden Suchvorganges an. Die Automatiksuche endet,
wenn Sie auf den ``Beenden''-Knopf klicken, oder wenn keine Wörter mehr
plaziert werden können.

\subsubsection{Edit: Wort manuell plazieren} \label{epm}
Zuerst erscheint ein Requester, in den Sie das Wort eingeben müssen, das
Sie plazieren wollen. Dieses Wort muß nicht unbedingt im gerade
gültigen Wortschatz enthalten sein. Falls Sie ein Wort eingeben, das
bereits zuvor plaziert wurde, erhalten Sie eine entsprechende
Fehlermeldung.

Nach der Eingabe des Wortes ändert sich der Mauszeiger in einen Rahmen
mit einem Punkt darin. Sie können dann eine geeignete Position im
Kreuzworträtsel mit der Maus auswählen (mit der linken Maustaste
anklicken). Danach fragt ein zweiter Requester, ob das Wort an dieser
Stelle horizontal oder vertikal plaziert werden soll. Dieser Requester
erscheint nicht, wenn die Plazierung ohnehin nur in einer Richtung
möglich ist.

\subsubsection{Edit: Wort manuell entfernen}
Diese Funktion erlaubt es Ihnen, ein bereits plaziertes Wort wieder
zu entfernen. Klicken Sie dazu mit der linken Maustaste das Wort an, das
Sie entfernen möchten. Wenn Sie diese Funktion versehentlich aufgerufen
haben sollten, klicken Sie einfach eine freie Stelle im Rätselgitter an.

Wenn Sie Die Kreuzungsstelle zwischen einem waagrechten und einem
senkrechten Wort anklicken, erscheint zusätzlich noch ein Requester,
der Sie nach der Richtung des gewünschten Wortes fragt.

Dieser Menüpunkt kann nur angewählt werden, wenn im gerade bearbeiteten
Rätsel schon wenigstens ein Wort plaziert wurde.

\it{}
Benutzen Sie diese Funktion bitte nur mit einer gewissen Vorsicht.
Sehen Sie sich bitte folgenden Fall an:

\begin{verbatim}
       A
       B
       E
       N
   BLINDDARM
        U
        R
\end{verbatim}

Wenn Sie nun das Wort ``BLINDDARM'' entfernen, erhalten Sie:

\begin{verbatim}
       A
       B
       E
       N
       DD
        U
        R
\end{verbatim}

Wenn Sie sich das Rätsel jetzt genau ansehen, stellen Sie fest, daß
auf einmal das Wort ``DD'' (waagrecht) entstanden ist, obwohl es
nie direkt plaziert wurde.
\rm{}

\subsubsection{Edit: Längengrenze zurücksetzen}
Die `limit'-Variable wird bei der Automatiksuche verwendet, um
sicherzustellen, daß zuerst die längeren Wörter plaziert werden, bevor
die kürzeren zum Zug kommen. limit gibt an, welche Länge ein Wort
mindestens haben muß, um bei der Suche berücksichtigt zu werden.
Mit diesem Menüpunkt können Sie limit auf einen beliebigen, geradzahligen
Wert zwischen 0 und 18 setzen; sie sollten dies mindestens vor jedem
neuen Rätsel tun, besser sogar jedesmal dann, wenn Sie einen neuen
Wortschatz geladen haben.

\subsubsection{Edit: Rätselgröße festlegen}
Es erscheint ein Requester, mit dem Sie die Höhe und
die Breite des Rätsels festlegen können. Diese Größenangaben müssen
ungerade sein!

Dieser Menüpunkt kann nur angewählt werden, solange im gerade bearbeiteten
Rätsel noch keine Wörter plaziert wurden.

\subsubsection{Edit: Keimwörter plazieren}
Die vier Keimwörter, aus denen das Rätsel wachsen wird, werden automatisch
plaziert. Das Programm sucht dazu zufällig vier Wörter aus dem Wortschatz
heraus, die lediglich eine bestimmte Mindestlänge haben müssen. Falls alle
Wörter im Wortschatz zu kurz sind, wird die Funktion abgebrochen (das kann
unter Umständen ein Weilchen dauern! Geduld- er ist nicht abgestürzt\dots{})

Sie müssen die Wahl der Keimwörter nicht unbedingt dem Computer überlassen;
Sie können auch manuell ein Wort (oder mehrere) als Keimwörter eintragen
(siehe \ref{epm} `Edit: manuelles Eingeben und Plazieren').

Dieser Menüpunkt kann nur angewählt werden, solange im gerade bearbeiteten
Rätsel noch keine Wörter plaziert wurden.

\subsection{Das Sprachen-Menü}
Dieses Menü enthält für jede vorliegende Sprache einen Eintrag. Zur Zeit
stehen Englisch, Deutsch, Italienisch und Esperanto zur Verfügung. Wenn Sie
in diesem Menü eine Sprache auswählen, werden die entsprechendeb Meldungstexte
von Diskette oder Platte nachgeladen, und dann die Bildschirmanzeige neu
aufgebaut. Sie können eine neu ausgewählte Sprache auch permanent als
Vorgabe speichern; dann wird diese Sprache jeweils sofort nach dem Programmstart
geladen. Wählen Sie dazu den Menüpunkt ``Projekt~:~Einstellungen speichern'' aus;
siehe \ref{saveprefs}.

\chapter{Dateien}
\section{Die Meldungsdatei}
Diese Datei enthält (fast) alle Texte, die das Programm benutzt, und zwar
(zur Zeit) in Englisch, Deutsch, Italienisch und Esperanto. Die Datei kann
problemlos um weitere Sprachen erweitert werden (insgesamt bis zu 9 Sprachen).
Jeder Eintrag in der Datei belegt eine eigene Zeile.

\subsection{Aufbau der Meldungsdatei}
Die erste Zeile enthält eine Zif\/fer. Diese Zif\/fer gibt die Anzahl der
vorhandenen Sprachen an. Es darf nur eine einzelne Zif\/fer sein.

Danach folgen die Bezeichnungen der einzelnen Sprachen (z.Z. ENGLISH,
DEUTSCH, ITALIAN und ESPERANTO).\footnote{Haben Sie Cross an eine weitere Sprache
                 angepaßt? Bitte schicken Sie mir eine Diskette mit Ihrem
                 `msgtxt.data'-File zu, damit ich es in der nächsten
                 Programmversion berücksichtigen kann!}

Die folgenden Einträge sind ebenfalls jeweils für jede Sprache einmal
vorhanden; sie stellen die Programmeldungen dar.

\subsection{Hinweise}
Falls Sie die Meldungsdatei um eine neue Sprache erweitern wollen,
beachten Sie bitte, daß die Übersetzungen nicht wesentlich länger als
die Originalmeldungen sein sollten, da die Texte zum Teil in Menüs
oder Requestern auftauchen.

Jeder Eintrag muß mit einer dreistelligen Nummer beginnen, die mit der
tatsächlichen Meldungsnummer (durchzählen) übereinstimmen muß; dabei
handelt es sich um eine Sicherheitsmaßnahme. Das hört sich recht
kompliziert an, aber wenn man sich die Meldungsdatei einmal genau
ansieht, versteht man bald, was gemeint ist. Die einzige Ausnahme ist
die Meldung Nummer 999, die das Dateiende anzeigt.

Nach der Meldung 999 können beliebige Kommentare angehängt werden, der Rest
des Files wird nämlich ignoriert.

\subsection{Debug-Modus}
Falls bei der Anpassung an eine neue Sprache Schwierigkeiten auftreten
sollten, kann man Cross mit der Option `-d' aufrufen, dann werden während
des Programmlaufs die Meldungen zusammen mit der Meldungsnummer ausgegeben;
so können Probleme leichter lokalisiert und behoben werden.

\section{Wortschatzdateien}
Eigene Wortschatzdateien können jederzeit benutzt werden, wenn folgende
Einschränkungen beachtet werden:

\begin{enumerate}
  \item Im Gegensatz zu früheren Cross-Versionen dürfen jetzt alle Zeichen
        benutzt werden (auch Leerzeichen, Satzzeichen u.s.w.); Kleinbuchstaben
        werden automatisch in Großbuchstaben umgewandelt. Seit der Version~5.0
        verwendet Cross auch für die Bildschirmausgaben normale Amiga-Zeichensätze,
        deshalb können nun auch nationale Sonderzeichen uneingeschränkt verwendet
        werden.\\
        Denken Sie daran, daß es nun in Ihrer Verantwortung liegt, darauf
        zu achten, daß die Wörter einigermaßen sinnvoll sind.
  \item Die Wörter sollten eine ungerade Länge
        haben, also 3, 5, 7, 9, 11, \dots{}, 25 Buchstaben (Ausnahme: zweibuchstabige
        Wörter). Diese Einschränkung ist nötig, um eine optimale Vernetzung
        der Wörter untereinander zu erreichen. Wörter mit gerader Länge
        dürfen zwar auch benutzt werden, aber es können später im Rätsel
        unter Umständen größere Lücken auftreten. \\
        Eine Sortierung der Wörter ist nicht unbedingt nötig, dient aber
        der Übersichtlichkeit, wenn Sie die Wortschatzdatei ändern möchten.
  \item Kein Wort darf länger als 25 Buchstaben oder kürzer als 2 Buchstaben
        sein.
  \item Die Wortschatzdatei darf keine Leerzeilen enthalten.
  \item Der letzte Eintrag kann `***END***' sein, ohne die Anführungszeichen
        natürlich; dieser `***END***'-Eintrag ist aber seit
        Version 4 nicht mehr zwingend nötig.
\end{enumerate}

\section{Der PreProcessor}
Mit dem ebenfalls mitgelieferten Hilfsprogramm `PreProcessor' kann man eine
normale ASCII-Textdatei in eine Wortschatzdatei umwandeln. Dazu filtert man
einen beliebigen Text durch den PreProcessor und sieht sich das resultierende
File mit einem ASCII-Editor (die meisten Textverarbeitungen
haben eine ASCII-Option) an. Dabei löscht man einfach alle Wörter, die
nicht benötigt werden, wieder heraus (es sind wahrscheinlich auch einige
Wörter bei der Umwandlung verstümmelt worden). So kann man in wenigen
Minuten fast mühelos neue Wortschatzdateien erzeugen. PreProcessor hält
sich übrigens noch an die strengeren Vorschriften in Sachen Wörter, die
in der Version 3 von Cross galten, also nur `A-Z' und `a-z'. Deutsche
Umlaute (ä,ö,ü,ß,Ä,Ö,Ü) werden dabei korrekt umgewandelt (AE,OE,UE,SS).

\subsection{Aufruf des PreProcessors}
Es werden keine Parameter benötigt, die Dateien werden mittels FileRequester
ausgewählt.

\subsection{Hinweis}
Der PreProcessor arbeitet mit einem rekursiven Algorithmus
(zum Sortieren wird nämlich ein binärer Baum aufgebaut); deshalb
sollte genügend Stack-Speicher reserviert sein. Gegebenenfalls
kann der CLI-Befehl \sl{}STACK\rm{} benutzt werden, um mehr
Stack-Speicher zu reservieren. PreProcessor reserviert sich automatisch
50000 Bytes Stack; wenn Sie noch mehr benötigen, benutzen Sie das
STACK-Kommando.

PreProcessor ist übrigens auch ansonsten ein ziemlicher
Speicherfresser\dots{} bei umfangreicheren ASCII-Dateien wird es
vermutlich Schwierigkeiten mit 512K-Amigas geben.

\subsection{Umfangreiche Wortschatzdateien}
Eine Warnung: Besonders umfangreiche Wortschatzdaten haben natürlich den
Vorteil, daß besonders gut vernetzte Rätsel entstehen; allerdings sollte
man auch bedenken, daß die Rechenzeit mit zunehmendem Umfang des Wortschatzes
rapide ansteigt\dots{}

Meine Empfehlung: man benutzt am besten mehrere (kleinere)
Wortschatzdateien, und lädt immer dann, wenn für eine Datei keine Wörter
mehr plaziert werden können, die nächste nach. Besonders sinnvoll wäre
es dabei, wenn man die Wörter gemäß ihrer Länge auf die Dateien verteilen
würde, z.B.:

\begin{tabular}{|l|c|}
  \hline
  File              & Wortlänge \\
  \hline
  \hline
  words\_ger05.crw  & 25--17 \\
  words\_ger06.crw  & 15--9 \\
  words\_ger07.crw  &  7--5 \\
  words\_ger08.crw  &  3--2 \\
  \hline
\end{tabular}

\chapter{Sonstiges}
\section{Bekannte Probleme/Fehler von Cross}
Wenn Sie einen extrem großen Zeichensatz benutzen (ab ca. 25-30 Punkte),
kann es eventuell zu Fehlermeldungen oder sogar zum Programmabbruch kommen.
Die Ursachen dafür sind mir bekannt, aber der Fehler ist nicht kurzfristig
zu beheben. Als Abhilfe sollten Sie mit den Voreinstellungs-Programmen
(Preferences) auf der Workbench einen kleineren Zeichensatz auswählen.

Weitere Fehler sind mir zur Zeit nicht bekannt.

Wenn Sie Fragen oder Probleme haben, schicken Sie mir bitte eine möglichst
detaillierte Beschreibung des Problems, sowie der zugrundeliegenden Hard- und
Softwarekonfiguration zu. Bitte legen Sie ausreichendes Rückporto
bei. Danke.

\section{Geplante Erweiterungen von Cross}
\begin{itemize}
  \item Verschiedene Grundmuster zur Plazierung der ersten `Keim'-Wörter
  \item Rätsel mit nicht-rechteckigem Grundriss
  \item AREXX-Schnittstelle
  \item Anpassung an die neuen LOCALE-Funktionen (ab Workbench~2.1)
\end{itemize}
\end{document}
